home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 401-425 / disk_408 / post / post13.lzh / Post / source / postlib.h < prev    next >
C/C++ Source or Header  |  1990-10-27  |  3KB  |  109 lines

  1. /* PostScript interpreter file "postlib.h" - library interface header (Amiga)
  2.  * (C) Adrian Aylward 1989, 1990.
  3.  *
  4.  * You may freely copy and use this file.  It was written for Lattice C
  5.  * V5.05.  N.B. all ints are 32 bits!
  6.  *
  7.  * This file defines the library interface, so that other programs can
  8.  * use the PostScript drawing machinery.  It is totally Amiga specific.
  9.  *
  10.  * N.B. the symbol STATICLINK is used for building a statically linked
  11.  * version of Post for debugging purposes.  It should not be defined for
  12.  * normal use.
  13.  */
  14.  
  15. /* The version number */
  16.  
  17. # define POSTVER "Post V1.3"
  18.  
  19. /* The parameter block */
  20.  
  21. struct PSparm
  22. {   struct
  23.     {   char *buf[24];
  24.         int len;
  25.         short depth, reserved[3];
  26.         short xoff, yoff;
  27.         short xbytes, xsize, ysize, ybase, yheight;
  28.         short xden, yden, ydir;
  29.     } page;
  30.     int memvlen, memflen, memllen, memhlen;
  31.     APTR userdata, flushfunc, copyfunc;
  32.     BPTR infh, outfh, errfh;
  33.     int reserved[4];
  34. };
  35.  
  36. /* Flags */
  37.  
  38. # define PSFLAGSTRING  1 /* Interpret string */
  39. # define PSFLAGFILE    2 /* Interpret file */
  40. # define PSFLAGINTER   4 /* Interactive, issue propmts */
  41. # define PSFLAGCLEAR   8 /* Clear stacks afterwards */
  42. # define PSFLAGSAVE   16 /* Save and restore */
  43. # define PSFLAGERASE  32 /* Erase page afterwards */
  44.  
  45. /* Errors */
  46.  
  47. # ifndef errmax
  48. # define errdictfull             1
  49. # define errdictstackoverflow    2
  50. # define errdictstackunderflow   3
  51. # define errexecstackoverflow    4
  52. # define errinterrupt            5
  53. # define errinvalidaccess        6
  54. # define errinvalidexit          7
  55. # define errinvalidfileaccess    8
  56. # define errinvalidfont          9
  57. # define errinvalidrestore      10
  58. # define errinvalidstop         11
  59. # define errioerror             12
  60. # define errlimitcheck          13
  61. # define errnocurrentpoint      14
  62. # define errrangecheck          15
  63. # define errstackoverflow       16
  64. # define errstackunderflow      17
  65. # define errsyntaxerror         18
  66. # define errtimeout             19
  67. # define errtypecheck           20
  68. # define errundefined           21
  69. # define errundefinedfilename   22
  70. # define errundefinedresult     23
  71. # define errunmatchedmark       24
  72. # define errunregistered        25
  73. # define errVMerror             26
  74. # define errmax                 26
  75. # endif
  76.  
  77. /* Entry points */
  78.  
  79. # ifdef STATICLINK
  80. # define PScreateact(parm)          initialise(parm)
  81. # define PSdeleteact(arec)          terminate()
  82. # define PSintstring(arec, s, l, f) intstring(s, l, f)
  83. # define PSsignalint(arec, f)       signalint(f)
  84. # define PSsignalfpe(arec)          signalfpe()
  85. # define PSerror(arec, n)           error(n)
  86. # endif
  87.  
  88. /* Entry points */
  89.  
  90. extern int  PScreateact(struct PSparm *parm);
  91. extern void PSdeleteact(int arec);
  92. extern int  PSintstring(int arec, char *string, int length, int flags);
  93. extern void PSsignalint(int arec, int flag);
  94. extern void PSsignalfpe(int arec);
  95. extern void PSerror(int arec, int errnum);
  96.  
  97. # ifndef STATICLINK
  98. # ifdef LATTICE
  99. # pragma libcall PSbase PScreateact  1e    901 ; d0 = (a1)
  100. # pragma libcall PSbase PSdeleteact  24    801 ;      (a0)
  101. # pragma libcall PSbase PSintstring  2A 109804 ; d0 = (a0, a1, d0, d1)
  102. # pragma libcall PSbase PSsignalint  30   0802 ;      (a0, d0)
  103. # pragma libcall PSbase PSsignalfpe  36    801 ;      (a0)
  104. # pragma libcall PSbase PSerror      3C   0802 ;      (a0, d0)
  105. # endif
  106. # endif
  107.  
  108. /* End of file "postlib.h" */
  109.